Als in een expressie meerdere bewerkingen voorkomen, worden deze in een vooraf bepaalde volgorde geδvalueerd. Dit wordt de operatorvolgorde genoemd.
Als een expressie verschillende soorten operatoren bevat, worden eerst de rekenkundige operatoren geδvalueerd, vervolgens de vergelijkingsoperatoren en als laatste de logische operatoren. Vergelijkingsoperatoren zijn alle even belangrijk en worden geδvalueerd in de volgorde waarin ze van links naar rechts in de expressie zijn opgenomen. Rekenkundige en logische operatoren worden geδvalueerd in de volgende volgorde:
Rekenkundig | Vergelijking | Logisch |
---|---|---|
Machtsverheffen (^) | Gelijk aan (=) | Not |
Negatief (û) | Niet gelijk aan(<>) | And |
Vermenigvuldigen en delen (*, /) | Kleiner dan (<) | Or |
Integer delen (\) | Groter dan(>) | Xor |
Rekenkundige coδfficiδnt (Mod) | Kleiner of gelijk aan (<=) |
Eqv |
Optellen en aftrekken (+, û) | Groter of gelijk aan (>=) |
Imp |
Aaneenschakeling tekenreeksen (&) | Like Is |
Wanneer vermenigvuldigen en delen beide in een expressie voorkomen, worden de bewerkingen uitgevoerd in de volgorde waarin ze van links naar rechts optreden. Wanneer optellen en aftrekken beide in een expressie voorkomen, worden de bewerkingen uitgevoerd in de volgorde waarin ze van links naar rechts zijn opgenomen. Met ronde haken kunt u de operatorvolgorde wijzigen en zorgen dat bepaalde delen van een expressie eerder worden geδvalueerd dan andere. Bewerkingen tussen ronde haken worden altijd eerder uitgevoerd dan bewerkingen die niet tussen ronde haken staan. Binnen de ronde haken is de normale operatorvolgorde van toepassing.
Eigenlijk is de operator voor het aaneenschakelen van tekenreeksen (&) geen rekenkundige operator, maar in de operatorvolgorde komt het na alle rekenkundige operatoren en v≤≤r alle vergelijkingsoperatoren.
Hoewel de operator Like in de operatorvolgorde op dezelfde plaats komt als alle vergelijkingsoperatoren, is het geen echte vergelijkingsoperator maar een operator die patronen vergelijkt.
De operator Is is een vergelijkingsoperator van objectverwijzingen. Er worden geen objecten of objectwaarden vergeleken, maar er wordt nagegaan of twee objectverwijzingen naar hetzelfde object verwijzen.